Dalam rekayasa perangkat lunak, metodologi pengembangan perangkat lunak atau metodologi pengembangan sistem adalah suatu kerangka kerja yang digunakan untuk menstrukturkan, merencanakan, dan mengendalikan proses pengembangan suatu sistem informasi. Banyak ragam kerangka kerja yang telah dikembangkan selama ini, yang masing-masing memiliki kekuatan dan kelemahan sendiri-sendiri.
Suatu metodologi pengembangan sistem tidak harus cocok untuk digunakan untuk semua proyek. Masing-masing metodologi mungkin cocok diterapkan untuk suatu proyek tertentu, berdasarkan berbagai pertimbangan teknis, organisasi, proyek, serta tim.
Beberapa contoh metodologi pengembangan perangkat lunak yang tersedia di antaranya adalah waterfall, prototyping, incremental, spiral, dan RAD